Field of the Art
The present invention is in the field of use of computer systems in business information management, operations and predictive planning. Specifically, the use of an automated, intelligent system for mobile application testing.
Discussion of the State of the Art
Application testing has been a required task of software development since the advent of the computer. As might be expected, the task began as a fully manual endeavor with the process greatly exacerbated by the need to introduce all patches into the code using manual punch cards or tapes and the paucity of computer time available to run those patched programs once submitted. The arrival of interactive modes of interaction with the computer greatly streamlined application development including the testing and patching of applications in development. However, an application found to function correctly in-house at the developing corporation often is shipped containing defects or “bugs,” some serious including abnormal ending of the application or crashing of the entire computer system, that do not emerge until all aspects and use combinations of the application's features are tested, a task that is resource prohibitive if done manually. Even the use of external “alpha” and “beta” testers may take a prohibitively long period of time and has not been shown to uncover even serious bugs with sufficient regularity. Recently, programs have been written with the sole purpose of exhaustively exercising other programs, the applications in development. These testing system programs function continuously and extremely rapidly, finally allowing such exhaustive exercise of all application features in all plausible combinations and have greatly advanced the area of application testing. Unfortunately, to date the vast majority of the test system programs are very ridged in what they do and are written to test a single or extremely small subset of applications under development.
Nothing has increased the demand for new application development than the recent significant popularity of mobile devices including, but not limited to smart phones and tablets. This demand shown left older methods of prerelease application testing sorely inadequate, even the newer method of writing advanced but rigid single application test program systems.
What is needed is an automated mobile application test system that may be given basic human interaction processes for most or all mobile apps, a small number of specific directives for a specific mobile app to be tested and may then use techniques of artificial intelligence predictive analytic learning to exercise all interactive user interface elements of applications in such a fashion that the same system is generalized for use in the exhaustive feature testing of all possible mobile apps.